VMKit: a Substrate for Virtual Machines
نویسندگان
چکیده
Developing and optimizing a virtual machine (VM) is a tedious task that requires many years of development. Although VMs share some common principles, such as a Just In Time Compiler or a Garbage Collector, this opportunity for sharing hash not been yet exploited in implementing VMs. This paper describes and evaluates VMKit, a first attempt to build a common substrate that eases the development of high-level VMs. VMKit has been successfully used to build three VMs: a Java Virtual Machine, a Common Language Runtime and a lisp-like language with type inference μvm-l . Our precise contribution is an extensive study of the lessons learnt in implementing such common infrastructure from a performance and an ease of development standpoint. Our performance study shows that VMKit does not degrade performance on CPU-intensive applications, but still requires engineering efforts to compete with other VMs on memory-intensive applications. Our high level VMs are only 20,000 lines of code, it took one of the author a month to develop a Common Language Runtime and implementing new ideas in the VMs was remarkably easy. Key-words: Virtual Machines, Compilation, VMKit, LLVM in ria -0 03 54 57 7, v er si on 1 3 M ar 2 00 9 VMKit: un substrat pour machines virtuelles Résumé : Le développement d’une machine virtuelle (MV) ainsi que ses optimisations est un travail complexe qui demande plusieurs années d’investissement. Alors que les MVs partagent des concepts communs comme les compilateur juste à temps ou les ramasse-miettes, les implémentations de MVs existantes n’ont pas exploité le partage d’implémentation de ces concepts. Dans ce rapport, nous décrivons et évaluons VMKit, un substrat commun pour le développement de MVs haut niveau. Nous avons implémenté trois MVs au-dessus de VMKit: une machine virtuelle Java, une machine virtuelle .Net et un langage á la Lisp avec inférence de type. Nous montrons que VMKit ne dégrade pas les performances d’applications gourmandes en processeur, mais demande encore des efforts d’ingénieurie pour les applications gourmandes en mémoire. Nos MVs haut-niveau représentent 20,000 lignes de code, un des auteurs a mis un mois pour développer la machine virtuelle .Net et l’implémentation de nouvelles idées MVs s’est révélée très simple. Mots-clés : Machines virtuelles, Compilation, VMKit, LLVM in ria -0 03 54 57 7, v er si on 1 3 M ar 2 00 9 VMKit: a Substrate for Virtual Machines 3
منابع مشابه
A Near Optimal Approach in Choosing The Appropriate Physical Machines for Live Virtual Machines Migration in Cloud Computing
Migration of Virtual Machine (VM) is a critical challenge in cloud computing. The process to move VMs or applications from one Physical Machine (PM) to another is known as VM migration. In VM migration several issues should be considered. One of the major issues in VM migration problem is selecting an appropriate PM as a destination for a migrating VM. To face this issue, several approaches are...
متن کاملVirtual manufacturing cells scheduling considering lotstreaming and sequence dependent setup times
In this paper, a new mathematical model for the problem of job scheduling in virtual manufacturing cells (VMC) is presented to minimizing the completion time of all jobs. Sequence dependent setup times of machines is considered and lot-streaming is possible. In Virtual manufacturing cells, each job has a different processing path and there is a set of machines for processing each operation. The...
متن کاملAnalytical evaluation of an innovative decision-making algorithm for VM live migration
In order to achieve the virtual machines live migration, the two "pre-copy" and "post-copy" strategies are presented. Each of these strategies, depending on the operating conditions of the machine, may perform better than the other. In this article, a new algorithm is presented that automatically decides how the virtual machine live migration takes place. In this approach, the virtual machine m...
متن کاملA genetic algorithm for a bi-objective mathematical model for dynamic virtual cell formation problem
Nowadays, with the increasing pressure of the competitive business environment and demand for diverse products, manufacturers are force to seek for solutions that reduce production costs and rise product quality. Cellular manufacturing system (CMS), as a means to this end, has been a point of attraction to both researchers and practitioners. Limitations of cell formation problem (CFP), as one o...
متن کاملNetwork virtualization substrate with parallelized data plane
Network virtualization provides the ability to run multiple concurrent virtual networks over a shared substrate. However, it is challenging to design such a platform to host multiple heterogenous and often highly customized virtual networks. Not only high degree of flexibility is desired for virtual networks to customize their functions, fast packet forwarding is also required. This paper prese...
متن کامل